home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 15 / CU Amiga Magazine's Super CD-ROM 15 (1997)(EMAP Images)(GB)[!][issue 1997-10].iso / CUCD / Graphics / Gallery / Source / GalleryWindow.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-15  |  3.6 KB  |  101 lines

  1. #ifndef GALLERYWINDOW_HPP
  2. #define GALLERYWINDOW_HPP
  3.  
  4. // $VER: GalleryWindow.hpp 39.8 (10.06.97)
  5. //
  6. //
  7. // (C) Copyright 1996,97 Markus Hillenbrand
  8. //     All Rights Reserved, No Warranty
  9.  
  10. #include "GUICINCLUDE:GUIC_Window.hpp"
  11. #include "GUICINCLUDE:GUIC_List.hpp"
  12. #include "GUICINCLUDE:GUIC_Screenrequester.hpp"
  13.  
  14. class GUIC_ButtonC;
  15. class GUIC_RegisterC;
  16. class GUIC_FileStringC;
  17. class GUIC_FileExamineC;
  18. class GUIC_PathStringC;
  19. class GUIC_SlidingIntegerC;
  20. class GUIC_CheckboxC;
  21. class GUIC_IntegerC;
  22. class GUIC_LabelC;
  23. class GUIC_StringC;
  24. class GUIC_ScreenC;
  25. class GUIC_ApplicationC;
  26. class GUIC_TextC;
  27. class GUIC_FrameC;
  28. class GUIC_RadioC;
  29. class GUIC_CycleC;
  30.  
  31. class StatusWindowC;
  32. class ManagerWindowC;
  33. class PictureWindowC;
  34. class ThumbnailWindowC;
  35.  
  36. // Defines 
  37. #define MINLINES                            3
  38. #define MINCOLUMNS                    3    
  39. #define MAXLINES                            200
  40. #define MAXCOLUMNS                    200    
  41. #define DEFAULTLINES                    3
  42. #define DEFAULTCOLUMNS            5
  43. #define MENUFRAMEWIDTH            150
  44. #define MINTHUMBNAILWIDTH         50
  45. #define MINTHUMBNAILHEIGHT        50
  46. #define MAXTHUMBNAILWIDTH        200
  47. #define MAXTHUMBNAILHEIGHT    200
  48. #define DEFTHUMBNAILWIDTH         100
  49. #define DEFTHUMBNAILHEIGHT        100
  50. #define MINTABLEBORDERSIZE        0
  51. #define MAXTABLEBORDERSIZE    20
  52. #define DEFTABLEBORDERSIZE        4
  53.  
  54. #define COPYRIGHT    "<SMALL> index file created with 'Gallery', (c) 1997 by <A HREF=\"http://www.student.uni-kl.de/~hillenbr\" TARGET=_top>Markus Hillenbrand</A> </SMALL>"
  55. #define FILEFILTER     "#?.(jpeg|jpg|gif|iff|ilbm|iff24|bmp|pcx|tiff)"
  56. #define COMMAND        "C:GfxCon_68020 >CON:0/999/640/150/Gallery-Output/AUTO/INACTIVE \"%s\" TO \"%s\" FORMAT JPEG QUALITY 90 BOXFIT %ld %ld"
  57.  
  58. class GalleryWindowC     : public GUIC_WindowC
  59.     {
  60.     public:
  61.         GalleryWindowC                            (GUIC_ApplicationC &app, GUIC_ScreenC &screen);
  62.         ~GalleryWindowC                         (VOID);
  63.         BOOL     action                            (GUIC_EventC &event);
  64.         STRPTR    getClass                        (VOID);
  65.     protected:
  66.         ULONG    scanDirectory                (STRPTR dir, STRPTR pattern, STRPTR pattern2, BOOL allFiles);
  67.         VOID        generateGallery            (VOID);
  68.         STRING     makeThumbnail            (GUIC_FileExamineC &file, LONG thumbnailWidth, LONG thumbnailHeight, BOOL useGGFX);
  69.         VOID         createGallery                (GUIC_ListC &fileList, STRPTR pattern, STRPTR pattern2, LONG linesInTable, LONG columnsInTable, BOOL picClick, BOOL showSize, BOOL showDate, LONG menuFrameWidth, LONG thumbnailWidth, LONG thumbnailHeight, LONG tableBorderSize, STRPTR baseName, BOOL noFrames);
  70.         VOID         createHTML                (GUIC_ListC &fileList, STRPTR pattern, BOOL showDate, LONG tableBorderSize, STRPTR baseName, BOOL noFrames);
  71.         VOID        cleanUp                         (VOID);
  72.     private:
  73.         GUIC_ButtonC                    *start, *quit, *manager, *screenButton;
  74.         GUIC_RegisterC                *reg;
  75.         GUIC_FileStringC                *pattern, *pattern2;
  76.         GUIC_PathStringC            *directory;
  77.         GUIC_SlidingIntegerC         *lines, *columns, *width, *height, *tableBorder;
  78.         GUIC_CheckboxC            *click, *size, *date, *noFrames, *createAll, *useGGFX, *hideFlag;
  79.         GUIC_IntegerC                    *frame;
  80.         GUIC_LabelC                    *dirLabel, *patternLabel, *pattern2Label, *linesLabel, *columnsLabel, *clickLabel, *sizeLabel, *dateLabel, *frameLabel, *widthLabel, *heightLabel, *tableBorderLabel, *baseNameLabel, *noFramesLabel, *createAllLabel, *programLabel, *useGGFXLabel, *hideLabel;
  81.         GUIC_StringC                    *baseName, *program, *pubscreen;
  82.         GUIC_ScreenC                    *screen;
  83.         GUIC_ApplicationC            *app;
  84.         GUIC_ListC                        fileList, errorList;
  85.         GUIC_ScreenRequesterC    screenRequester;
  86.         GUIC_TextC                        *screenName, *screenDims, *fontName;
  87.         GUIC_FrameC                    *screenFrame;
  88.         GUIC_RadioC                    *pubOrOwn;
  89.         
  90.         StatusWindowC                *sWindow;
  91.         ManagerWindowC            *mWindow;
  92.         PictureWindowC                *pWindow;
  93.         ThumbnailWindowC            *tWindow;
  94.         
  95.         LONG                                totalFiles, actualFiles;
  96.         char                                 sName[256], sDimensions[256], fName[256];
  97.     };
  98.  
  99. #endif
  100.  
  101.